Gorm - Insert Data
Melanjutkan dari tulisan sebelumnnya
kali ini diberikan contoh sederhana untuk insert data ke articles.
Model
Pada models/article.go silahkan ubah menjadi seperti ini :
package models
import "time"
type Article struct {
ID int64 `gorm:"primaryKey"`
Name string
Content string
AuthorName string
CreatedAt time.Time
UpdatedAt time.Time
}
Terdapat perubahan yaitu :
- Ubah tipe data
IDmenjadi int64 (sesuai dengan tipe data pada database yaitu big integer) - Menambahkan
CreatedAt - Menambahkan
UpdatedAt
Buat Data Baru Article
Untuk membuat data baru, anda bisa menggunakan kode sebagai berikut :
package main
import (
...
"example/hello/models"
"strconv"
"time"
...
)
func main() {
...
//insert new article
articleNew := models.Article{
AuthorName: "programmer",
Content: "belajar insert golang",
Name: "belajar golang",
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
}
result := db.Create(&articleNew)
if result.Error != nil {
log.Fatalf("failed insert : %s", result.Error)
}
...
}
Menampilkan Data Articles
Terdapat beberapa perubahan untuk menampilkan data articles dibanding sebelumnya, hasilnya seperti berikut ini :
//show all articles
articles, err := repository.GetAllArticles()
if err != nil {
fmt.Println("Failed get articles: ", err)
return
}
fmt.Println("Articles in db are : ")
for _, article := range articles {
fmt.Printf(
"ID: %s, createdAt: %s, name: %s, content: %s, authorName: %s \n",
strconv.Itoa(int(article.ID)),
article.CreatedAt,
article.Name,
article.Content,
article.AuthorName,
)
}
Terdapat perubahan yaitu :
- Convert
articles.IDmenjadi string - Menambahkan
created_atuntuk ditampilkan
Hasil
Jika berhasil, data terbaru anda akan berhasil masuk sebagai berikut :
